As shown in FIG. 1, a wireless communication system 10 comprises elements such as client terminal or mobile station 12 and base stations 14. Other network devices which may be employed, such as a mobile switching center, are not shown. In some wireless communication systems there may be only one base station and many client terminals while in some other communication systems such as cellular wireless communication systems there are multiple base stations and a large number of client terminals communicating with each base station.
As illustrated, the communication path from the base station (BS) to the client terminal direction is referred to herein as the downlink (DL) and the communication path from the client terminal to the base station direction is referred to herein as the uplink (UL). In some wireless communication systems the client terminal or mobile station (MS) communicates with the BS in both DL and UL directions. For instance, this is the case in cellular telephone systems. In other wireless communication systems the client terminal communicates with the base stations in only one direction, usually the DL. This may occur in applications such as paging.
The base station to which the client terminal is communicating with is referred to as the serving base station. In some wireless communication systems the serving base station is normally referred to as the serving cell. The terms base station and a cell may be used interchangeably herein. In general, the cells that are in the vicinity of the serving cell are called neighbor cells. Similarly, in some wireless communication systems a neighbor base station is normally referred to as a neighbor cell.
Multiple transmit and/or receive chains are commonly used in many wireless communication systems for different purposes. Multiple transmit and/or receive chains in wireless communication systems offer spatial dimension that can be exploited in the design of wireless communication systems. Communication systems with multiple transmit and/or receive chains offer improved performance. The performance improvement can be in terms of better coverage, higher data rates, reduced Signal to Noise Ratio (SNR) requirements, multiplexing of multiple users on the same channel at the same time, or some combination of the above. Different techniques using multiple receive and/or transmit chains are often referred to with different names such as diversity combining (maximum ratio combining, equal gain combining, selection combining, etc.), space-time coding (STC) or space-time block coding (STBC), spatial multiplexing (SM), beamforming and multiple input multiple output (MIMO). Wireless communication systems with multiple transmit chains at the transmit entity and multiple receive chains at the receive entity are generically referred to as MIMO systems. The aspects of the present disclosure may apply to Spatial Multiplexing MIMO systems, i.e., wireless communication systems that use the Spatial Multiplexing technique using multiple transmit chains at the transmit entity and multiple receive chains at the receive entity.
In Spatial Multiplexing, a high data rate stream is split into multiple lower data rate streams and all the lower data rate streams are transmitted simultaneously from all the available transmit antennas on the same frequency at the same time. Alternatively, data from two or more different users or applications may be transmitted simultaneously from all the available transmit antennas on the same frequency at the same time. If signals from different transmit antennas arrive at the receiver antennas through sufficiently different spatial propagation paths, the receiver may be able to separate these streams of data, creating parallel channels on the same frequency at the same time. SM is a powerful technique for increasing channel capacity at higher SNR. The maximum number of spatially multiplexed data streams is limited by the minimum of the number of antennas at the transmit entity and the number of antennas at the receive entity. For example, if the number of transmit antennas at the transmit entity is four and the number of receive antennas at the receive entity is two, the maximum number of spatially separable data streams is two.
FIG. 2 illustrates an example of an SM-MIMO wireless communication system with two transmit chains at the transmit entity, for example a base station, and two receive chains at the receive entity, for example a client terminal. The following notation is used in describing various signals in the remainder of the present document. A subscript to a signal name denotes transmit or receive chain number to which the signal is associated. When there are two subscripts to a signal name, the first subscript refers to the transmit chain and the second subscript refers to the receive chain to which the signal is associated. Let Nt denote the number of transmit chains and Nr denote the number of receive chains. For SM the number of parallel data streams that can be supported is equal to the minimum of the number of transmit antennas Nt and the number of receive antennas Nr. Normally a wireless communication system with Nt transmit chains at the transmit entity and Nr receive chains at the receive entity is referred as Nt×Nr MIMO communication system.
In FIG. 2, the payload data from a user or an application are input to the Forward Error Correction (FEC) Encoder 202 at the transmit entity. The FEC encoded data are input to the SM-MIMO Encoder 204. The output of the SM-MIMO Encoder is transmitted over the two available antennas. The signal from a transmit antenna arrives at the two receive antennas through different propagation paths as shown in FIG. 2. The received signal at each receive antenna may be a combination of signals transmitted from the two transmit antennas and the noise as shown in FIG. 2. The signals received from the two receive antennas are processed by the SM-MIMO Decoder 206. Its output may be generally Log-Likelihood Ratio (LLR) for each bit. The LLR are input to the FEC Decoder which performs the error correction and detection and outputs the decoded data to the user or application.
In digital communication systems, the LLR for a received channel bit represents the reliability of the received demodulated channel bit. The reliability is generally a function of the prevailing channel conditions such as fading, Doppler, SNR, interference from other transmissions, the structure of the modulated data, and the type of receiver, for example, the type of SM-Decoder. The reliability of a received channel bit is expressed mathematically as a ratio of the probability of the received channel bit being 0 over the probability of it being 1. Often a logarithm (which is a monotonic function) of the probabilities is used for practical implementation considerations and therefore it is referred as Log-Likelihood Ratio (LLR). An LLR is often referred to as “soft bits” or “soft bit value.” In contrast, when the received channel bits have only one of the two values, i.e., 0 or 1, the received channel bits are referred to as hard channel bits or simply hard bits.
Let an M-ary Quadrature Amplitude Modulation (QAM) symbol a be mapped to a bit-sequence through some mapping function ƒ as follows:a=ƒ(b0,b1, . . . ,bK-1)where M=2K and bk, k=1, 2, . . . , K, are the bits being mapped to the QAM symbol a from the M-QAM constellation. The M-QAM constellation consists of a set of M complex points denoted by:A={a0,a1, . . . ,aM-1}
Define a subset Ak+ consisting of all the constellation points that have kth bit of the bit-sequence mapped to the constellation point set to zero (indicated by superscript +). Similarly define a subset Ak− of all the constellation points that have the kth bit of the codeword mapped to the constellation point set to one (indicated by superscript −). Mathematically,Ak±={aϵA|bk={0,1}}
For example, the set of all the points in a 16-QAM constellation is shown in FIG. 3 with M=16 and K=4. The partitioning of this set into two subsets for the bit b0 and b1 being equal to 0 and being equal to 1 is as shown in FIG. 4. Using this notation, an LLR is expressed as follows for the received complex valued symbol r with:
                              LLR          ⁡                      (                          b              k                        )                          =                  log          ⁢                      {                                          Pr                ⁡                                  (                                                            b                      k                                        =                                          0                      |                      r                                                        )                                                            Pr                ⁡                                  (                                                            b                      k                                        =                                          1                      |                      r                                                        )                                                      }                                              (        1        )            
For the case of Gaussian noise n with mean m=0 and variance σ2, its Probability Density Function (PDF) is expressed as follows:
                              P          ⁡                      (            n            )                          =                              1                                          2                ⁢                                                                  ⁢                π                ⁢                                                                  ⁢                                  σ                  2                                                              ⁢                      e                          -                                                                    (                                          n                      -                      m                                        )                                    2                                                  2                  ⁢                                                                          ⁢                                      σ                    2                                                                                                          (        2        )            
With the noise PDF as specified in EQ. (2), the LLR in EQ. (1) can be expressed as follows:
                              LLR          ⁡                      (                          b              k                        )                          =                  log          ⁢                      {                                                            ∑                                      a                    ∈                                          A                      k                      +                                                                      ⁢                                  e                                      -                                                                                                                                                  r                            -                            a                                                                                                    2                                                                    σ                        2                                                                                                                                          ∑                                      a                    ∈                                          A                      k                      -                                                                      ⁢                                  e                                      -                                                                                                                                                  r                            -                            a                                                                                                    2                                                                    σ                        2                                                                                                                  }                                              (        3        )            In EQ. (3), a is one of the symbols from the used modulation constellation set, Ak is the set of all possible symbols in a constellation.
The expression in EQ. (3) requires computation of log, exponentials, and distances from all the constellation points of the modulation used. Therefore, the ideal LLR expression in EQ. (3) may often be too complex for practical implementation. A commonly used approximation for LLR is as follows:
                              LLR          ⁡                      (                          b              k                        )                          ≅                              -                          1                              σ                2                                              ⁢                      {                                                            min                                      a                    ∈                                          A                      k                      +                                                                      ⁢                                                                                                r                      -                      a                                                                            2                                            -                                                min                                      a                    ∈                                          A                      k                      -                                                                      ⁢                                                                                                r                      -                      a                                                                            2                                                      }                                              (        4        )            
EQ. (4) computes the difference of the distance metric for the nearest symbol with the bit bk=0 and the distance metric for the nearest symbol with the bit bk=1.
SM with MIMO is widely used for providing high data rate over a given channel bandwidth. In conventional non-SM transmissions schemes, usually a single symbol from a modulation constellation set may be transmitted per transmission interval. In case of SM, multiple symbols from a modulation constellation set corresponding to each parallel stream of SM may be transmitted per transmission interval. The sequence of modulation symbols used for simultaneous transmission in a single transmission interval is referred herein as symbol vector.
The complexity of the decoders for SM-MIMO may be generally very high since a linear system of equations may need to be solved at a very high speed. A straightforward implementation of Maximum Likelihood (ML) soft-output exact a-posteriori probability (APP) detection providing optimum error-rate performance requires extensive computation and comparison of the distances between received vector and all possible transmit symbol vectors, which may result in prohibitive complexity even for moderate data rates.
One of the commonly used techniques to reduce the complexity may be to convert the linear system of equations into a triangular linear system of equations using matrix algebra methods such as QR decomposition. The triangular linear system of equations may then be solved using one of the tree search methods such as Sphere decoding, M-Algorithm. A description of these methods may be found in “Introduction to Space-Time Wireless Communications” by A. Paulraj, et al., Cambridge University Press, 2003, pp. 149-157, incorporated by reference herein.
FEC is an essential component of most digital communication systems for reliable communication. The decoders for the FEC perform better when working in soft-decision mode using the LLRs as the input. At the receiver, typically an SM-MIMO decoder is followed by an FEC decoder as shown in FIG. 2. For a higher performance receiver, it is essential that the SM-MIMO decoder outputs LLRs which may be used as an input to the FEC decoder.
The set of symbols transmitted at the output of the SM-MIMO encoder is referred to as symbol vector. In FIG. 2, the symbol vector consists of symbols s0 and s1. Each symbol in a symbol vector belongs to a point in the modulation constellation being used for the SM-MIMO system. For example, the communication system may use Quadrature Phase Shift Keying (QPSK), 16-QAM, or 64-QAM as shown in FIG. 5. Each point in the constellation is associated with a 2, 4, and 6-bit codeword for QPSK, 16-QAM, and 64-QAM constellations respectively as shown in FIG. 5. The SM-MIMO decoders typically search for the symbol vector that is closest to the received symbol vector in terms of a metric which is usually some form of Euclidean distance. Each symbol in a symbol vector corresponds to the individual bit streams that are used to map the modulation symbols in the chosen constellation. When the search is completed, the SM-MIMO decoder has achieved the required hard output decoding for the symbol vector.
When the SM-MIMO decoder has achieved the required hard output decoding for the symbol vector, the corresponding codeword for each symbol, as shown in FIG. 5, provides the hard channel bits.
To compute the LLR for each of the bits in a codeword associated with each of the symbols in the decoded symbol vector, the SM-MIMO decoder may also search for the counter-hypothesis for each bit value of the codeword for each of the symbol. For example, in a 2×2 SM-MIMO system using 64-QAM modulation, for each of the two multiplexed data streams, there are six bits associated with each of the modulation symbols. For each 2×2 SM-MIMO symbol vector decoded, there are two 64-QAM symbols received and therefore a total 12 bits received. The soft bits need to be generated for each of the 12 bits.
Let the number of bits associated with each symbol vector be denoted by b0, b1, . . . , bN-1 where N is equal to 4, 8, or 12 for 2×2 SM-MIMO depending on whether the modulation type is QPSK, 16-QAM, or 64-QAM respectively. The computation of the LLR for each of the bits bk requires the distance metric for the symbol vector that is closest to the received symbol vector that has the corresponding bit value opposite of the bit value for the symbol vector that is closest to the received symbol vector. Specifically, if the decoded hard bit b0=0 for the symbol vector that is closest to the received symbol vector, the soft bit generation requires the knowledge of the symbol vector that is closest to the received symbol vector but has the value of b1=1. Similarly, if the decoded hard bit b0=1 for the symbol vector that is closest to the received symbol vector, the soft bit generation requires the knowledge of the symbol vector that is closest to the received symbol vector but has the value of b0=0. This search for the counter-hypothesis may be performed for each of the bits for the decoded symbol vector. Therefore, the SM-MIMO decoder may search for one optimal hypothesis (symbol vector closest to the received symbol vector) and search for up to N=12 counter-hypotheses. The search for counter-hypotheses requires the distance computation and sorting of the computed distances to find the minimum distance.
The tree search methods for SM-MIMO decoding reduce complexity by avoiding distance metric computations for symbol vectors that are not likely to lead to the correct hypothesis. While these distance metrics may not be required for reaching the correct hypothesis, they may be required for the counter-hypothesis to enable LLR computation. Generally, it is not known a priori which symbol vector is going to be the correct hypothesis and which ones are going to be required for counter-hypothesis. Therefore, only after the correct hypothesis is reached, the search for counter-hypothesis may be performed. This may lead to a scenario where the required metrics for LLR computation are not available when using tree search based methods to reduce complexity in SM-MIMO decoders.